#	$OpenBSD: files,v 1.599 2015/07/21 03:38:22 reyk Exp $
#	$NetBSD: files,v 1.87 1996/05/19 17:17:50 jonathan Exp $

#	@(#)files.newconf	7.5 (Berkeley) 5/10/93


# generic attributes
define	disk
define	tape
define	ifnet
define	tty
define	audio {}
define	scsi {}
define	atascsi {}
define	ifmedia
define	mii {[phy = -1]}
define	midibus {}
define	radiobus {}
define	i2cbus {}
define	gpiobus {}
define	onewirebus {}
define	video {}

# filesystem firmware loading attribute
define firmload

# radio device attributes
define tea5757
define lm700x
define tc921x
define pt2254a

device	video
attach	video at video

# audio and midi devices, attaches to audio hardware driver
device	audio
attach	audio at audio
device	midi
attach	midi at midibus

# raster operations attributes
define	rasops1
define	rasops2
define	rasops4
define	rasops8
define	rasops15
define	rasops16
define	rasops24
define	rasops32
define	rasops_bswap
define	rasops_rotation

# I2C bus bit-banging
define	i2c_bitbang

# 1-Wire bus bit-banging
define	onewire_bitbang

# net device attributes - we have generic code for ether(net)
define	crypto
define	systrace
define	ether
define	sppp
define	wlan

# "Chipset" attributes.  These are the machine-independent portions
# of device drivers.
define	ncr5380sbc	# NCR 5380 SCSI Bus Controller
define	ncr53c7xx	# NCR 53c7xx SCSI Bus Controller
define	dp8390nic	# 8390-family Ethernet controllers
define	rtl80x9		# Realtek 8019/8029 NE2000-compatible
define	dl10019		# DL10019/10022-family Ethernet controllers
define	ax88190		# AX88190-family Ethernet controllers

# a wscons output device; used later, but needs to be near the top for
# common file (e.g. vga) definitions.
define	wsdisplaydev		{[mux = 1]}
define	wsemuldisplaydev	{[console = -1], [mux = 1]}
define	wskbddev		{[console = -1], [mux = 1]}
define	wsmousedev		{[mux = 0]}

# SMC 93Cx6 Serial EEPROM devices
define	smc93cx6
file	dev/ic/smc93cx6.c		smc93cx6

# common PC display functions
define	pcdisplayops
file	dev/ic/pcdisplay_subr.c		pcdisplayops
file	dev/ic/pcdisplay_chars.c	pcdisplayops

# Mostek time-of-day clock and NVRAM
define	mk48txx
file	dev/ic/mk48txx.c		mk48txx

# agp integrated graphics attaches at vga. defines are in dev/pci/files.agp
define agpint {}

# DRM - Direct Rendering Manager: /dev/drm
define drmdev {}

# VGA graphics
device	vga: wsemuldisplaydev, pcdisplayops, drmdev, agpint
file	dev/ic/vga.c			vga & (vga_pci | vga_isa) needs-flag
file	dev/ic/vga_subr.c		vga & (vga_pci | vga_isa) needs-flag

# Video modes 
define	edid
file	dev/videomode/edid.c		edid
file    dev/videomode/vesagtf.c         edid
file    dev/videomode/videomode.c       edid

# Attribute for devices that read/write an IEEE 802.3u MII bus using the
# bit-bang method.
define	mii_bitbang
file	dev/mii/mii_bitbang.c		mii_bitbang

define	wdc_base
define	ata {[channel = -1], [drive = -1]}
define	atapi {[channel = -1]}
# Common code for ESDI/IDE/etc. controllers
device	wdc: ata, atapi, wdc_base
file	dev/ic/wdc.c			wdc_base

# "Chipset" drivers.  These are the bus-independent routines which
# contain the cfdrivers.  Attachments are provided by files.<bus>

# Adaptec 2[789]4X, 394X, aic7770 and aic78[5678]0 SCSI controllers
device	ahc: scsi, smc93cx6
file	dev/ic/aic7xxx.c		ahc
file	dev/ic/aic7xxx_openbsd.c	ahc
file	dev/ic/aic7xxx_seeprom.c	ahc

# Adaptec U320 SCSI controllers
device	ahd: scsi
file	dev/ic/aic79xx.c		ahd
file	dev/ic/aic79xx_openbsd.c	ahd

# Adaptec AIC-6[23]60 SCSI controllers
device	aic: scsi
file	dev/ic/aic6360.c	aic & (aic_isa | aic_pcmcia | aic_isapnp)

# DPT EATA SCSI controllers
device	dpt: scsi
file	dev/ic/dpt.c			dpt

# AdvanSys 1200A, 1200B and ULTRA SCSI controllers
device	adv: scsi
file	dev/ic/adv.c			adv

# AdvanSys ULTRA WIDE SCSI controllers
device	adw: scsi
file	dev/ic/adw.c			adw

# BusLogic MultiMaster and MultiMaster Ultra SCSI controllers
device	bha: scsi
file	dev/ic/bha.c		bha & (bha_pci | bha_isa | bha_eisa) needs-flag

# ICP Vortex GDT RAID controllers
device	gdt: scsi
file	dev/ic/gdt_common.c		gdt

# 3ware Escalade RAID controllers
device	twe: scsi
file	dev/ic/twe.c			twe

# LSI64854 DMA controller back-end
define	lsi64854
file	dev/ic/lsi64854.c		lsi64854

# Compaq Smart ARRAY controllers
device	cac: scsi
file	dev/ic/cac.c			cac

# Compaq Smart ARRAY 5* controllers
device	ciss: scsi
file	dev/ic/ciss.c			ciss

# AMI MegaRAID controllers
device	ami: scsi
file	dev/ic/ami.c			ami

# LSI MegaRAID SAS controllers
device	mfi: scsi
file	dev/ic/mfi.c			mfi

# QLogic ISP SCSI Controllers
device	qlw: scsi
file	dev/ic/qlw.c			qlw

# QLogic ISP23xx FC Controllers
device  qla: scsi
file    dev/ic/qla.c                    qla

# Advanced Host Controller Interface for Serial ATA
device	ahci: scsi, atascsi
file	dev/ic/ahci.c			ahci | ahci_pci | ahci_jmb needs-flag

# NVM Express Controller
device	nvme: scsi
file	dev/ic/nvme.c			nvme

# LSI Logic Fusion-MPT Message Passing Interface
device	mpi: scsi
file	dev/ic/mpi.c			mpi

# Emulex Light Pulse Fibre Channel (Service Level Interface)
device	sli: scsi
file	dev/ic/sli.c			sli

# Silicon Image 3124/3132/3531 SATALink
device	sili: scsi, atascsi
file	dev/ic/sili.c			sili

# UltraStor SCSI controllers
device	uha: scsi
file	dev/ic/uha.c			uha

# NCR 53c9x or Emulex ESP SCSI Controller
define	ncr53c9x
device	esp: scsi, ncr53c9x
file	dev/ic/ncr53c9x.c		ncr53c9x

# common stuff for siop and esiop
define	siop_common
file	dev/ic/siop_common.c		siop_common

# Symbios/NCR 53c720/53c8xx SCSI controllers
device	siop: scsi,siop_common
file	dev/ic/siop.c			siop & (siop_pci | siop_gedoens)

# Symbios/NCR 53c710 SCSI controllers
device	osiop: scsi
file	dev/ic/osiop.c			osiop & (osiop_gsc | osiop_eisa | osiop_mc | osiop_pcctwo)

# Symbios/NCR 53c700 SCSI controllers
device	oosiop: scsi
file	dev/ic/oosiop.c			oosiop

# Western Digital WD33C93 SCSI controllers
define	wd33c93ctrl
file	dev/ic/wd33c93.c		wd33c93ctrl

# 3Com Etherlink-III Ethernet controller
device	ep: ether, ifnet, ifmedia, mii
file	dev/ic/elink3.c			ep

# LEMAC-based cards
device	lc: ether, ifnet, ifmedia
file	dev/ic/lemac.c			lc

# WaveLan
device	wi: ether, ifnet, ifmedia
file	dev/ic/if_wi.c			wi
file	dev/ic/if_wi_hostap.c		wi

# Aironet 802.11 DS Ethernet controller
device	an: ether, ifnet, ifmedia, wlan
file	dev/ic/an.c			an

# LANCE and PCnet Ethernet controllers
device	le: ether, ifnet, ifmedia
define	le24
define	le32
file	dev/ic/am7990.c			le24
file	dev/ic/am79900.c		le32
file	dev/ic/lance.c			le24 | le32

# 3Com 3c9xx
device	xl: ether, ifnet, ifmedia, mii
file	dev/ic/xl.c			xl

# Intel EtherExpress PRO 10/100B
device	fxp: ether, ifnet, ifmedia, mii, firmload
file	dev/ic/fxp.c			fxp

# Myson MTD803
device	mtd: ether, ifnet, ifmedia, mii
file	dev/ic/mtd8xx.c			mtd

# Realtek 8129/8139
device	rl: ether, ifnet, ifmedia, mii
file	dev/ic/rtl81x9.c		rl

# Realtek 8169
device	re: ether, ifnet, ifmedia, mii
file	dev/ic/re.c			re

# Clones of Digital 2104x
device	dc: ether, ifnet, ifmedia, mii
file	dev/ic/dc.c			dc

# SMC 91Cxx Ethernet Controller
device	sm: ether, ifnet, ifmedia, mii, mii_bitbang
file	dev/ic/smc91cxx.c		sm

# SMC 83C170 EPIC/100 Fast Ethernet Controller
device	epic: ether, ifnet, ifmedia, mii
file	dev/ic/smc83c170.c		epic

# Novell NE2000-compatible Ethernet cards, based on the
# National Semiconductor DS8390.
device	ne: ether, ifnet, dp8390nic, ifmedia, mii
file	dev/ic/ne2000.c			ne

# D-Link DL10019/10022 NE2000-compatible network interface subroutines
file	dev/ic/dl10019.c		dl10019

# ASIX AX88190 NE2000-compatible network interface subroutines
file	dev/ic/ax88190.c		ax88190

# Intel i82596/i82586 Ethernet Controller
device	ie: ether, ifnet, ifmedia
file	dev/ic/i82596.c			ie & (ie_pci | ie_eisa | ie_gsc)

# Sun GEM Ethernet controllers
device	gem: ether, ifnet, ifmedia, mii
file	dev/ic/gem.c			gem

device	ti: ether, ifnet, ifmedia, mii, firmload
file	dev/ic/ti.c			ti

# 8250/16[45]50-based "com" ports
device	com: tty
file	dev/ic/com.c			com & (com | com_cardbus | com_gsc |
					       com_isapnp)	needs-flag

# PC-like keyboard controller
define	pckbcslot {[slot = -1]}
device	pckbc: pckbcslot
file	dev/ic/pckbc.c			pckbc needs-flag

# PCF8584 I2C Controllers
device	pcfiic: i2cbus
file	dev/ic/pcf8584.c		pcfiic

# AC-97 CODECs
define	ac97
file	dev/ic/ac97.c			ac97

# Cyclades Cyclom multiport serial cards
device	cy: tty
file	dev/ic/cy.c			cy & (cy_isa | cy_pci)	needs-flag

# PC parallel ports (IEEE 1284)
device	lpt
file	dev/ic/lpt.c			lpt & (lpt_isa | lpt_localbus |
					       lpt_gsc | lpt_puc | lpt_apio |
					       lpt_ebus) needs-flag

# STI (hp graphics)
device	sti: wsemuldisplaydev
file	dev/ic/sti.c			sti & (sti_gedoens |
					       sti_pci) needs-flag

# Initio ULTRA WIDE/ULTRA2 WIDE SCSI Controllers
device	iha: scsi
file	dev/ic/iha.c			iha

# Tekram TRM-S1040 SCSI Cards (DC395U/UW/F,DC315/U)
device	trm: scsi
file	dev/ic/trm.c			trm

# National Semiconductor LM78/79/81 and compatible hardware monitors
device	lm
file	dev/ic/lm78.c			lm

# Atheros AR5k (802.11/a/b/g) Hardware Abstraction Layer
define	ar5xxx
file	dev/ic/ar5xxx.c			ar5xxx
file	dev/ic/ar5210.c			ar5xxx
file	dev/ic/ar5211.c			ar5xxx
file	dev/ic/ar5212.c			ar5xxx

# Atheros AR5k (802.11/a/b/g) driver
device	ath: ether, ifnet, ifmedia, ar5xxx, wlan, gpiobus
file	dev/ic/ath.c			ath

# Atheros AR9k (802.11a/g/n) driver
device	athn: ether, ifnet, ifmedia, wlan
file	dev/ic/athn.c			athn
file	dev/ic/ar5008.c			athn
file	dev/ic/ar5416.c			athn
file	dev/ic/ar9280.c			athn
file	dev/ic/ar9285.c			athn
file	dev/ic/ar9287.c			athn
file	dev/ic/ar9003.c			athn
file	dev/ic/ar9380.c			athn

# ADMtek ADM8211 802.11
device	atw: ether, ifnet, ifmedia, smc93cx6, wlan
file	dev/ic/atw.c			atw

# Realtek RTL8180 802.11
device	rtw: ether, ifnet, ifmedia, smc93cx6, wlan
file	dev/ic/rtw.c			rtw

# Ralink RT2500/RT2600 802.11
device	ral: ether, ifnet, ifmedia, firmload, wlan
file	dev/ic/rt2560.c			ral
file	dev/ic/rt2661.c			ral
file	dev/ic/rt2860.c			ral

# Texas Instruments ACX 802.11
device	acx: ether, ifnet, ifmedia, firmload, wlan
file	dev/ic/acx.c			acx
file	dev/ic/acx111.c			acx
file	dev/ic/acx100.c			acx

# Conexant PrismGT
device	pgt: ether, ifnet, ifmedia, firmload, wlan
file	dev/ic/pgt.c			pgt

# Adaptec AIC-6915 Ethernet interface
device sf: ether, ifnet, ifmedia, mii
file	dev/ic/aic6915.c		sf

# Marvell Libertas Open
device	malo: ether, ifnet, ifmedia, firmload, wlan
file	dev/ic/malo.c			malo

# Broadcom AirForce
device	bwi: ether, ifnet, ifmedia, firmload, wlan
file	dev/ic/bwi.c			bwi

# Attributes which machine-independent bus support can be attached to.
# These should be defined here, because some of these busses can have
# devices which provide these attributes, and we'd like to avoid hairy
# ordering constraints on inclusion of the busses' "files" files.
define	isabus {}			# ISA attachment
define	eisabus {}			# EISA attachment
define	pcibus {[bus = -1]}		# PCI attachment
define	tcbus {}			# TurboChannel attachment
define	usbus {}			# USB attachment
define	usbdev {}			# USB function attachment
define	pcmciabus {[controller = -1], [socket = -1]}	# PCMCIA attachment
define	cbbus {[slot = -1]}		# CardBus attachment
define	pcmciaslot {[slot = -1]}	# PCMCIA slot itself
define	sdmmcbus {}			# SD/MMC attachment
define	btbus {}			# Bluetooth host controller
define	agpbus {}			# AGP bridge

# UHCI USB controller
device	uhci: usbus
file	dev/usb/uhci.c			uhci	needs-flag

# OHCI USB controller
device	ohci: usbus
file	dev/usb/ohci.c			ohci	needs-flag

# EHCI USB controller
device	ehci: usbus
file	dev/usb/ehci.c			ehci	needs-flag

# XHCI USB controller
device	xhci: usbus
file	dev/usb/xhci.c			xhci	needs-flag

# SDHC SD/MMC controller
device	sdhc: sdmmcbus
file	dev/sdmmc/sdhc.c		sdhc

# Winbond Integrated Media Reader
device wbsd: sdmmcbus
file	dev/ic/w83l518d.c		wbsd
file	dev/ic/w83l518d_sdmmc.c		wbsd

# Realtek RTS5209 Card Reader
device	rtsx: sdmmcbus
file	dev/ic/rtsx.c			rtsx

# AMD 7930 audio/ISDN codec
define	am7930
file	dev/ic/am7930.c			am7930

# Siemens PSB2160 audio codec, as found in HP systems
device	arcofi: audio
file	dev/ic/arcofi.c			arcofi

# radio devices, attaches to radio hardware driver
device	radio
attach	radio at radiobus
file dev/radio.c			radio	needs-flag

# IPMI
device	ipmi
file	dev/ipmi.c			ipmi	needs-flag

# Virtual SCSI
device	vscsi: scsi
attach	vscsi at root
file	dev/vscsi.c			vscsi	needs-flag

# SCSI Multipathing
device	mpath: scsi
attach	mpath at root
file	scsi/mpath.c			mpath	needs-flag

# Software RAID
device	softraid: scsi
attach	softraid at root
file	dev/softraid.c			softraid	needs-flag
file	dev/softraid_concat.c		softraid
file	dev/softraid_crypto.c		softraid & crypto
file	dev/softraid_raid0.c		softraid
file	dev/softraid_raid1.c		softraid
file	dev/softraid_raid5.c		softraid
file	dev/softraid_raid6.c		softraid

# SPD Memory EEPROM
device	spdmem
file	dev/spdmem.c			spdmem

# AIC-6250 SCSI
device	oaic: scsi
file	dev/ic/aic6250.c		oaic

# legitimate pseudo-devices
pseudo-device vnd: disk
pseudo-device rd: disk
file	dev/rd.c			rd needs-flag

pseudo-device pty: tty
pseudo-device nmea: tty
pseudo-device msts: tty
pseudo-device endrun: tty

pseudo-device loop: ifnet
pseudo-device ppp: ifnet
pseudo-device tun: ifnet
pseudo-device bpfilter: ifnet
pseudo-device enc: ifnet
pseudo-device bridge: ifnet, ether
pseudo-device vlan: ifnet, ether
pseudo-device carp: ifnet, ether
pseudo-device sppp: ifnet
pseudo-device gif: ifnet
pseudo-device gre: ifnet
pseudo-device crypto: ifnet
pseudo-device trunk: ifnet, ether, ifmedia
pseudo-device mpe: ifnet, ether
pseudo-device mpw: ifnet, ether
pseudo-device vether: ifnet, ether
pseudo-device pppx: ifnet
pseudo-device vxlan: ifnet, ether, ifmedia

pseudo-device systrace

pseudo-device ksyms
file	dev/ksyms.c			ksyms needs-flag

pseudo-device fuse
file	miscfs/fuse/fuse_device.c	fuse	needs-flag
file	miscfs/fuse/fuse_file.c		fuse
file	miscfs/fuse/fuse_lookup.c	fuse
file	miscfs/fuse/fuse_vfsops.c	fuse
file	miscfs/fuse/fuse_vnops.c	fuse
file	miscfs/fuse/fusebuf.c		fuse

pseudo-device pf: ifnet
file	net/pf.c			pf	needs-flag
file	net/pf_norm.c			pf
file	net/pf_ruleset.c		pf
file	net/pf_ioctl.c			pf
file	net/pf_table.c			pf
file	net/pf_osfp.c			pf
file	net/pf_if.c			pf
file	net/pf_lb.c			pf
file	net/hfsc.c			ifnet

pseudo-device pflog: ifnet
file	net/if_pflog.c			pflog	needs-flag
pseudo-device pfsync: ifnet
file	net/if_pfsync.c			pfsync	needs-flag

pseudo-device pflow: ifnet
file	net/if_pflow.c			pflow	needs-flag

pseudo-device bio
file	dev/bio.c			bio needs-flag

pseudo-device hotplug
file	dev/hotplug.c			hotplug	needs-flag

pseudo-device pppoe: ifnet, ether, sppp
file 	net/if_pppoe.c			pppoe	needs-flag

# XXX machine-independent SCSI files should live somewhere here, maybe

# kernel sources
file ddb/db_access.c			ddb | kgdb
file ddb/db_break.c			ddb
file ddb/db_command.c			ddb
file ddb/db_dwarf.c			ddb
file ddb/db_elf.c			ddb
file ddb/db_examine.c			ddb
file ddb/db_expr.c			ddb
file ddb/db_hangman.c			ddb
file ddb/db_input.c			ddb
file ddb/db_lex.c			ddb
file ddb/db_output.c			ddb
file ddb/db_print.c			ddb
file ddb/db_run.c			ddb | kgdb
file ddb/db_struct.c			ddb & ddb_struct
file ddb/db_sym.c			ddb
file ddb/db_trap.c			ddb
file ddb/db_variables.c			ddb
file ddb/db_watch.c			ddb
file ddb/db_write_cmd.c			ddb
file ddb/db_usrreq.c			ddb
file dev/audio.c			audio			needs-flag
file dev/cons.c
file dev/diskmap.c
file dev/firmload.c			firmload
file dev/flash.c			flash			needs-flag
file dev/ic/ncr5380sbc.c		ncr5380sbc
file dev/ic/ncr53c7xx.c			ncr53c7xx
file dev/ic/dp8390.c			dp8390nic
file dev/ic/rtl80x9.c			rtl80x9
file dev/ic/tea5757.c			tea5757
file dev/ic/lm700x.c			lm700x
file dev/ic/tc921x.c			tc921x
file dev/ic/pt2254a.c			pt2254a
file dev/midi.c				midi | midibus		needs-flag
file dev/mulaw.c			audio			needs-flag
file dev/systrace.c			systrace		needs-flag
file dev/vnd.c				vnd			needs-flag
file dev/rnd.c
file dev/video.c			video			needs-flag
file isofs/cd9660/cd9660_bmap.c		cd9660
file isofs/cd9660/cd9660_lookup.c	cd9660
file isofs/cd9660/cd9660_node.c		cd9660
file isofs/cd9660/cd9660_rrip.c		cd9660
file isofs/cd9660/cd9660_util.c		cd9660
file isofs/cd9660/cd9660_vfsops.c	cd9660
file isofs/cd9660/cd9660_vnops.c	cd9660
file isofs/udf/udf_subr.c		udf
file isofs/udf/udf_vfsops.c		udf
file isofs/udf/udf_vnops.c		udf
file kern/clock_subr.c
file kern/exec_conf.c
file kern/exec_elf32.c
file kern/exec_elf64.c
file kern/exec_script.c
file kern/exec_subr.c
file kern/init_main.c
file kern/init_sysent.c
file kern/kern_acct.c			accounting
file kern/kern_bufq.c
file kern/kern_clock.c
file kern/kern_descrip.c
file kern/kern_event.c
file kern/kern_exec.c
file kern/kern_exit.c
file kern/kern_fork.c
file kern/kern_kthread.c
file kern/kern_ktrace.c			ktrace
file kern/kern_lock.c
file kern/kern_malloc.c
file kern/kern_malloc_debug.c		malloc_debug
file kern/kern_rwlock.c
file kern/kern_physio.c
file kern/kern_proc.c
file kern/kern_prot.c
file kern/kern_resource.c
file kern/kern_tame.c
file kern/kern_sched.c
file kern/kern_sensors.c
file kern/kern_sig.c
file kern/kern_subr.c
file kern/kern_sysctl.c
file kern/kern_synch.c
file kern/kern_tc.c
file kern/kern_time.c
file kern/kern_timeout.c
file kern/kern_uuid.c			gpt
file kern/kern_watchdog.c		!small_kernel
file kern/kern_task.c
file kern/kern_srp.c
file kern/kern_xxx.c
file kern/kgdb_stub.c			kgdb
file kern/sched_bsd.c
file kern/subr_autoconf.c
file kern/subr_disk.c
file kern/subr_evcount.c
file kern/subr_extent.c
file kern/subr_hibernate.c		hibernate
file kern/subr_log.c
file kern/subr_poison.c			diagnostic
file kern/subr_pool.c
file kern/dma_alloc.c
file kern/subr_prf.c
file kern/subr_prof.c
file kern/subr_userconf.c		boot_config
file kern/subr_xxx.c
file kern/sys_generic.c
file kern/sys_pipe.c
file kern/sys_process.c			ptrace | systrace
file kern/sys_socket.c
file kern/syscalls.c			syscall_debug
file kern/sysv_ipc.c			sysvshm | sysvsem | sysvmsg
file kern/sysv_msg.c			sysvmsg
file kern/sysv_sem.c			sysvsem
file kern/sysv_shm.c			sysvshm
file kern/tty.c
file kern/tty_conf.c
file kern/tty_pty.c			pty			needs-count
file kern/tty_nmea.c			nmea			needs-flag
file kern/tty_msts.c			msts			needs-flag
file kern/tty_endrun.c			endrun			needs-flag
file kern/tty_subr.c
file kern/tty_tty.c
file kern/uipc_domain.c
file kern/uipc_mbuf.c
file kern/uipc_mbuf2.c
file kern/uipc_proto.c
file kern/uipc_socket.c
file kern/uipc_socket2.c
file kern/uipc_syscalls.c
file kern/uipc_usrreq.c
file kern/vfs_bio.c
file kern/vfs_biomem.c
file kern/vfs_cache.c
file kern/vfs_cluster.c
file kern/vfs_default.c
file kern/vfs_init.c
file kern/vfs_lockf.c
file kern/vfs_lookup.c
file kern/vfs_subr.c
file kern/vfs_sync.c
file kern/vfs_syscalls.c
file kern/vfs_vops.c
file kern/vfs_vnops.c
file kern/vfs_getcwd.c
file kern/spec_vnops.c
file miscfs/deadfs/dead_vnops.c
file miscfs/fifofs/fifo_vnops.c		fifo
file msdosfs/msdosfs_conv.c		msdosfs
file msdosfs/msdosfs_denode.c		msdosfs
file msdosfs/msdosfs_fat.c		msdosfs
file msdosfs/msdosfs_lookup.c		msdosfs
file msdosfs/msdosfs_vfsops.c		msdosfs
file msdosfs/msdosfs_vnops.c		msdosfs
file ntfs/ntfs_compr.c			ntfs
file ntfs/ntfs_conv.c			ntfs
file ntfs/ntfs_ihash.c			ntfs
file ntfs/ntfs_subr.c			ntfs
file ntfs/ntfs_vfsops.c			ntfs
file ntfs/ntfs_vnops.c			ntfs
file tmpfs/tmpfs_mem.c			tmpfs
file tmpfs/tmpfs_subr.c			tmpfs
file tmpfs/tmpfs_vfsops.c		tmpfs
file tmpfs/tmpfs_vnops.c		tmpfs
file tmpfs/tmpfs_specops.c		tmpfs
file tmpfs/tmpfs_fifoops.c		tmpfs & fifo
file net/bpf.c				bpfilter		needs-count
file net/bpf_filter.c			bpfilter
file net/if.c
file net/if_ethersubr.c			ether			needs-flag
file net/if_spppsubr.c			sppp
file net/if_loop.c			loop
file net/if_media.c			ifmedia
file net/if_ppp.c			ppp			needs-count
file net/netisr.c
file net/ppp_tty.c			ppp
file net/bsd-comp.c			ppp_bsdcomp
file net/ppp-deflate.c			ppp_deflate
file net/if_tun.c			tun			needs-count
file net/if_bridge.c			bridge			needs-count
file net/bridgestp.c			bridge
file net/if_vlan.c			vlan			needs-count
file net/pipex.c			pipex
file net/radix.c
file net/radix_mpath.c			!small_kernel
file net/raw_cb.c
file net/raw_usrreq.c
file net/rtable.c
file net/route.c
file net/rtsock.c
file net/slcompress.c			ppp
file net/if_enc.c			enc			needs-count
file net/if_gre.c			gre			needs-count
file net/if_trunk.c			trunk			needs-count
file net/trunklacp.c			trunk
file net/if_mpe.c			mpe			needs-count
file net/if_mpw.c			mpw & bridge		needs-count
file net/if_vether.c			vether			needs-count
file net/if_pppx.c			pppx			needs-count
file net/if_vxlan.c			vxlan			needs-count
file net80211/ieee80211.c		wlan
file net80211/ieee80211_amrr.c		wlan
file net80211/ieee80211_crypto.c	wlan
file net80211/ieee80211_crypto_bip.c	wlan
file net80211/ieee80211_crypto_ccmp.c	wlan
file net80211/ieee80211_crypto_tkip.c	wlan
file net80211/ieee80211_crypto_wep.c	wlan
file net80211/ieee80211_input.c		wlan
file net80211/ieee80211_ioctl.c		wlan
file net80211/ieee80211_node.c		wlan
file net80211/ieee80211_output.c	wlan
file net80211/ieee80211_pae_input.c	wlan
file net80211/ieee80211_pae_output.c	wlan
file net80211/ieee80211_proto.c		wlan
file net80211/ieee80211_rssadapt.c	wlan
file net80211/ieee80211_regdomain.c	wlan
file netinet/if_ether.c			ether
file netinet/igmp.c
file netinet/in.c
file netinet/in_pcb.c
file netinet/in_proto.c	
file netinet/inet_nat64.c		pf
file netinet/inet_ntop.c
file netinet/ip_divert.c		pf
file netinet/ip_icmp.c
file netinet/ip_id.c
file netinet/ip_input.c
file netinet/ip_mroute.c		mrouting
file netinet/ip_output.c
file netinet/raw_ip.c
file netinet/tcp_debug.c
file netinet/tcp_input.c
file netinet/tcp_output.c
file netinet/tcp_subr.c	
file netinet/tcp_timer.c
file netinet/tcp_usrreq.c
file netinet/udp_usrreq.c
file netinet/ip_gre.c
file netinet/ip_ipsp.c			ipsec | tcp_signature
file netinet/ip_spd.c			ipsec | tcp_signature
file netinet/ip_ipip.c
file netinet/ip_ether.c			gif
file netinet/ipsec_input.c		ipsec
file netinet/ipsec_output.c		ipsec
file netinet/ip_esp.c			ipsec
file netinet/ip_ah.c			ipsec
file netinet/ip_carp.c			carp			needs-count
file netinet/ip_ipcomp.c		ipsec
file crypto/rijndael.c			ipsec | crypto | uvm_swap_encrypt | wlan
file crypto/md5.c			
file crypto/rmd160.c			ipsec | crypto
file crypto/sha1.c			ipsec | crypto | carp | wlan
file crypto/sha2.c
file crypto/blf.c			ipsec | crypto | vnd
file crypto/cast.c			ipsec | crypto
file crypto/ecb_enc.c			ipsec | crypto
file crypto/set_key.c			ipsec | crypto
file crypto/ecb3_enc.c			ipsec | crypto
file crypto/crypto.c			ipsec | crypto
file crypto/criov.c			ipsec | crypto
file crypto/cryptosoft.c		ipsec | crypto
file crypto/xform.c			ipsec | crypto
file crypto/xform_ipcomp.c		ipsec | crypto
file crypto/arc4.c			
file crypto/michael.c			wlan
file crypto/cmac.c			wlan
file crypto/hmac.c			wlan | (softraid & crypto)
file crypto/gmac.c			ipsec | crypto
file crypto/key_wrap.c			wlan
file crypto/idgen.c			inet6 | nfsclient | nfsserver
file crypto/siphash.c
file netmpls/mpls_input.c		mpls
file netmpls/mpls_output.c		mpls
file netmpls/mpls_proto.c		mpls
file netmpls/mpls_raw.c			mpls
file netmpls/mpls_shim.c		mpls
file nfs/krpc_subr.c			nfsclient
#file nfs/nfs_aiod.c			nfsclient
file nfs/nfs_bio.c			nfsclient
file nfs/nfs_boot.c			nfsclient
file nfs/nfs_debug.c			nfsclient & ddb
file nfs/nfs_node.c			nfsclient
file nfs/nfs_kq.c			nfsclient
file nfs/nfs_serv.c			nfsserver
file nfs/nfs_socket.c			nfsserver | nfsclient
file nfs/nfs_srvcache.c			nfsserver
file nfs/nfs_subs.c			nfsserver | nfsclient
file nfs/nfs_syscalls.c			nfsserver | nfsclient
file nfs/nfs_vfsops.c			nfsclient
file nfs/nfs_vnops.c			nfsclient
file ufs/ffs/ffs_alloc.c		ffs | mfs
file ufs/ffs/ffs_balloc.c		ffs | mfs
file ufs/ffs/ffs_inode.c		ffs | mfs
file ufs/ffs/ffs_subr.c			ffs | mfs
file ufs/ffs/ffs_softdep_stub.c		ffs | mfs
file ufs/ffs/ffs_tables.c		ffs | mfs
file ufs/ffs/ffs_vfsops.c		ffs | mfs
file ufs/ffs/ffs_vnops.c		ffs | mfs
file ufs/ffs/ffs_softdep.c		ffs_softupdates
file ufs/mfs/mfs_vfsops.c		mfs
file ufs/mfs/mfs_vnops.c		mfs
file ufs/ufs/ufs_bmap.c			ffs | mfs | ext2fs
file ufs/ufs/ufs_dirhash.c		ufs_dirhash & (ffs | mfs)
file ufs/ufs/ufs_ihash.c		ffs | mfs | ext2fs
file ufs/ufs/ufs_inode.c		ffs | mfs | ext2fs
file ufs/ufs/ufs_lookup.c		ffs | mfs | ext2fs
file ufs/ufs/ufs_quota.c		quota & ( ffs | mfs | ext2fs )
file ufs/ufs/ufs_quota_stub.c		ffs | mfs
file ufs/ufs/ufs_vfsops.c		ffs | mfs | ext2fs
file ufs/ufs/ufs_vnops.c		ffs | mfs | ext2fs
file ufs/ext2fs/ext2fs_alloc.c		ext2fs
file ufs/ext2fs/ext2fs_balloc.c		ext2fs
file ufs/ext2fs/ext2fs_bmap.c		ext2fs
file ufs/ext2fs/ext2fs_bswap.c		ext2fs
file ufs/ext2fs/ext2fs_extents.c	ext2fs
file ufs/ext2fs/ext2fs_inode.c		ext2fs
file ufs/ext2fs/ext2fs_lookup.c		ext2fs
file ufs/ext2fs/ext2fs_readwrite.c	ext2fs
file ufs/ext2fs/ext2fs_subr.c		ext2fs
file ufs/ext2fs/ext2fs_vfsops.c		ext2fs
file ufs/ext2fs/ext2fs_vnops.c		ext2fs
file uvm/uvm_addr.c
file uvm/uvm_amap.c
file uvm/uvm_anon.c
file uvm/uvm_aobj.c
file uvm/uvm_device.c
file uvm/uvm_fault.c
file uvm/uvm_glue.c
file uvm/uvm_init.c
file uvm/uvm_io.c
file uvm/uvm_km.c
file uvm/uvm_map.c
file uvm/uvm_meter.c
file uvm/uvm_mmap.c
file uvm/uvm_object.c
file uvm/uvm_page.c
file uvm/uvm_pager.c
file uvm/uvm_pdaemon.c
file uvm/uvm_pmemrange.c
file uvm/uvm_stat.c
file uvm/uvm_swap.c
file uvm/uvm_swap_encrypt.c		uvm_swap_encrypt
file uvm/uvm_unix.c
file uvm/uvm_user.c
file uvm/uvm_vnode.c

# IPv6
file net/if_gif.c			gif			needs-count
file netinet/ip_ecn.c
file netinet/in_gif.c			gif
file netinet6/in6_gif.c			gif & inet6
file netinet6/in6_pcb.c			inet6
file netinet6/in6.c			inet6
file netinet6/ip6_divert.c		inet6 & pf
file netinet6/in6_ifattach.c		inet6
file netinet6/in6_cksum.c		inet6
file netinet6/in6_src.c			inet6
file netinet6/in6_proto.c		inet6
file netinet6/dest6.c			inet6
file netinet6/frag6.c			inet6
file netinet6/icmp6.c			inet6
file netinet6/ip6_id.c			inet6
file netinet6/ip6_input.c		inet6
file netinet6/ip6_forward.c		inet6
file netinet6/ip6_mroute.c		inet6 & mrouting
file netinet6/ip6_output.c		inet6
file netinet6/route6.c			inet6
file netinet6/mld6.c			inet6
file netinet6/nd6.c			inet6
file netinet6/nd6_nbr.c			inet6
file netinet6/nd6_rtr.c			inet6
file netinet6/raw_ip6.c			inet6
file netinet6/udp6_output.c		inet6

# ... PF_KEY
file net/pfkey.c			key | ipsec | tcp_signature
file net/pfkeyv2.c			key | ipsec | tcp_signature
file net/pfkeyv2_parsemessage.c		key | ipsec | tcp_signature
file net/pfkeyv2_convert.c		key | ipsec | tcp_signature

# COMPAT_* support code (base and other shared code)
file compat/common/compat_util.c	!small_kernel
file compat/common/compat_dir.c		!small_kernel & compat_linux

# libx86emu
file dev/x86emu/x86emu.c		x86emu
file dev/x86emu/x86emu_util.c		x86emu

# libkern MI components
file lib/libkern/mcount.c		gprof
file lib/libkern/getsn.c
file lib/libkern/random.c
file lib/libkern/explicit_bzero.c
file lib/libkern/timingsafe_bcmp.c
file lib/libkern/arch/${MACHINE_ARCH}/strchr.S | lib/libkern/strchr.c
file lib/libkern/arch/${MACHINE_ARCH}/strrchr.S | lib/libkern/strrchr.c
file lib/libkern/arch/${MACHINE_ARCH}/__main.S | lib/libkern/__main.c
file lib/libkern/arch/${MACHINE_ARCH}/imax.S | lib/libkern/imax.c
file lib/libkern/arch/${MACHINE_ARCH}/imin.S | lib/libkern/imin.c
file lib/libkern/arch/${MACHINE_ARCH}/lmax.S | lib/libkern/lmax.c
file lib/libkern/arch/${MACHINE_ARCH}/lmin.S | lib/libkern/lmin.c
file lib/libkern/arch/${MACHINE_ARCH}/max.S | lib/libkern/max.c
file lib/libkern/arch/${MACHINE_ARCH}/min.S | lib/libkern/min.c
file lib/libkern/arch/${MACHINE_ARCH}/ulmax.S | lib/libkern/ulmax.c
file lib/libkern/arch/${MACHINE_ARCH}/ulmin.S | lib/libkern/ulmin.c
file lib/libkern/arch/${MACHINE_ARCH}/memchr.S | lib/libkern/memchr.c
file lib/libkern/arch/${MACHINE_ARCH}/memcmp.S | lib/libkern/memcmp.c
file lib/libkern/arch/${MACHINE_ARCH}/bcmp.S | lib/libkern/bcmp.c
file lib/libkern/arch/${MACHINE_ARCH}/bzero.S | lib/libkern/bzero.c
file lib/libkern/arch/${MACHINE_ARCH}/bcopy.S | lib/libkern/bcopy.c
file lib/libkern/arch/${MACHINE_ARCH}/memcpy.S | lib/libkern/memcpy.c
file lib/libkern/arch/${MACHINE_ARCH}/memmove.S | lib/libkern/memmove.c
file lib/libkern/arch/${MACHINE_ARCH}/ffs.S | lib/libkern/ffs.c
file lib/libkern/arch/${MACHINE_ARCH}/fls.S | lib/libkern/fls.c
file lib/libkern/arch/${MACHINE_ARCH}/flsl.S | lib/libkern/flsl.c
file lib/libkern/arch/${MACHINE_ARCH}/memset.S | lib/libkern/memset.c
file lib/libkern/arch/${MACHINE_ARCH}/strcmp.S | lib/libkern/strcmp.c
file lib/libkern/arch/${MACHINE_ARCH}/strlcat.S | lib/libkern/strlcat.c
file lib/libkern/arch/${MACHINE_ARCH}/strlcpy.S | lib/libkern/strlcpy.c
file lib/libkern/arch/${MACHINE_ARCH}/strlen.S | lib/libkern/strlen.c
file lib/libkern/arch/${MACHINE_ARCH}/strncmp.S | lib/libkern/strncmp.c
file lib/libkern/arch/${MACHINE_ARCH}/strncpy.S | lib/libkern/strncpy.c
file lib/libkern/arch/${MACHINE_ARCH}/strnlen.S | lib/libkern/strnlen.c
file lib/libkern/arch/${MACHINE_ARCH}/scanc.S | lib/libkern/scanc.c
file lib/libkern/arch/${MACHINE_ARCH}/skpc.S | lib/libkern/skpc.c
file lib/libkern/arch/${MACHINE_ARCH}/htonl.S | lib/libkern/htonl.c
file lib/libkern/arch/${MACHINE_ARCH}/htons.S | lib/libkern/htons.c
file lib/libkern/arch/${MACHINE_ARCH}/strncasecmp.S | lib/libkern/strncasecmp.c

file lib/libz/adler32.c			ppp_deflate | ipsec | crypto | bios
file lib/libz/crc32.c			ppp_deflate | ipsec | crypto | gpt
file lib/libz/infback.c			ppp_deflate | ipsec | crypto
file lib/libz/inffast.c			ppp_deflate | ipsec | crypto
file lib/libz/inflate.c			ppp_deflate | ipsec | crypto
file lib/libz/inftrees.c		ppp_deflate | ipsec | crypto
file lib/libz/deflate.c			ppp_deflate | ipsec | crypto
file lib/libz/zutil.c			ppp_deflate | ipsec | crypto
file lib/libz/zopenbsd.c		ppp_deflate | ipsec | crypto
file lib/libz/trees.c			ppp_deflate | ipsec | crypto
file lib/libz/compress.c		ppp_deflate | ipsec | crypto

